MyBatis CRUD 您所在的位置:网站首页 mybatis map传值 MyBatis CRUD

MyBatis CRUD

2023-05-22 21:42| 来源: 网络整理| 查看: 265

0.select

一个参数

测试多个参数时报错,绑定参数异常

因为调用时select里的username和password只是形参,传进实参后这个名字已经找不见了

需要配一个注解@Param

需要注意,注解里的值要和xml里的占位符值一致才能传值。尽量做到见名知意

能不能传User对象?

可以捏

Map呢?

也可以啊,本质上就是拿到map的value替换占位符嘛

回过头看看占位符#{}和${}有啥区别

输出日志里id直接是1了。由此可见${}是拼接字符串,#{}代表的是占位符

那如何进行模糊查询呢?

你为啥拿到了root?我传的明明是1啊

我想想...

因为我本地的用户名是root字符串拼接

还可以用占位符,只不过要在代码里加上%

我比较喜欢这种www

1.insert

发现了一个问题

没插进去?明明日志这里显示成功了啊

这是因为如果没有关闭session,idea不会主动提交事务。代码稍作修改。

刷新数据库,出现了捏

2.update

自动提交事务

3.delete

绿了,成功了。

4.一个小插件

装上这个插件,点击箭头。你的sql语句会跳转到对应的函数。

5.使用注解也可以CRUD,本质上和xml标签一样

public interface AdminMapper {

   /**     * 保存管理员     * @param admin     * @return     */    @Insert("insert into admin (username,password) values (#{username},#{password})")    int saveAdmin(Admin admin);

   /**     * 更新管理员     * @param admin     * @return     */    @Update("update admin set username=#{username} , password=#{password} where id = #{id}")    int updateAdmin(Admin admin);

   /**     * 删除管理员     * @param     * @return     */    @Delete("delete from admin where id=#{id}")    int deleteAdmin(int id);

   /**     * 根据id查找管理员     * @param id     * @return     */    @Select("select id,username,password from admin where id=#{id}")    Admin findAdminById(@Param("id") int id);

   /**     * 查询所有的管理员     * @return     */    @Select("select id,username,password from admin")    List findAllAdmins();

}



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有